1. Field of the Invention
The present invention relates to the field of network protocols for data transfer and, more particularly, to a transparent device utilize to process data flow between a network and a router.
2. Background of the Related Art
In the field of computing devices, communication is often achieved over a local area network (LAN). FIG. 1 illustrates one such example. In FIG. 1, a system 10 is shown in which a variety of devices are coupled to a LAN 11. A host computer 12, a server 13 and a plurality of users 14 (shown as a personal computer, PC) are connected to the LAN 11. Two of the more well known local area networks are the Ethernet and Token Ring networks. The general configuration and operation of a LAN are well known.
The LAN 11 is also shown connected to an external network. In the example of FIG. 1, the LAN 11 is connected to the Internet through a router 15. The router 15 functions as an interface in transferring data between the devices on the LAN 11 and the Internet. Usually, the data is transferred in packets. It is understood that the Internet is a medium for having many such networks coupled to it, as well as individual devices, and that the data transfer is between these various devices accessing the Internet. The packetizing of data (and unpacking at the other end) is controlled by the xe2x80x9ctransmission control protocolxe2x80x9d (TCP) and the manner of routing is controlled by the Internet protocol (IP). Together, the TCP/IP protocol establishes the manner in which intelligence is transferred over the Internet.
In the LAN 11 example, each device on the LAN 11 has a network address (for example, an Ethernet address for an Ethernet network) which identifies the physical address of the device on the LAN 11. The physical address is also referred to as a media access control (MAC) address. Each device also has an IP address, which is associated with the location of the device over the whole of the Internet. By knowing a destination IP address, two devices can communicate over the Internet. An address resolution protocol (ARP) is used to allow a host on the network to request the hardware address given in a particular IP address. The router 15 typically includes an ARP table which retains the MAC address associated with a given IP address.
The system 10 also shows a web cache 16 connected to the LAN 11. The web cache 16 is utilized for caching pages which are accessed on the World Wide Web (WWW). Typically, these web sites and pages on the web sites are accessed by noting the IP address or the Uniform Resource Locator (URL) for the web site page. The caching of web pages is well known. Caching (which is the storing of recently used data in a memory device) is used to view a previously accessed web page without actually returning to the destination to retrieve it.
The web cache 16 is separate from the cache memory allocated by a web browser program of each PC 14. Instead of an individual cache, the web cache 16 is a network cache utilized by the devices on the LAN 11. Network web caching allows the network to cache a given web site/page for plurality of users on the LAN 11. Accordingly, the system 10 provides for caching of a particular web page in the web cache 16 for access by more than one device on the LAN 11.
However, in order to provide the caching function, the web cache 16 is treated as a separate device which must be accessed by the various devices on the LAN 11. That is, when the web cache 16 is added onto the LAN 11, each Internet accessing device must be programmed to utilize the device 16 for caching the web page. Typically, some programming input is required at each device to identify the web cache 16 as a device to be accessed for caching the web page data. However, once so programmed, an IP address access for a web site from each programmed PC 14 will now access the web cache 16 for the presence of that page, before the access is sent out onto the Internet.
As noted, in order to implement the web cache of FIG. 1, some form of programming is required for one or more devices currently present on the LAN 11 to use the web cache 16 for its caching function. The web cache 16 cannot be readily inserted into the LAN 11 to perform the caching function, unless some programming is provided for each device to utilize the caching function of the web cache 16. In the Internet web page example described, this programming identifies the web cache 16 for performing the caching function for the web browsers utilized on the LAN devices. This generally requires some appreciable programming to be performed on each machine or device. Further, if the web cache 16 becomes inoperative or is removed from the LAN 11 (or simply LAN caching is no longer desirable), the reprogramming of the devices on the LAN 11 will be required to remove the web cache 16.
Accordingly, a device not having the requisite set up programming for its utilization would be desirable to provide such functions on the LAN (such as web caching). Such a device would be transparent to other devices on the LAN at set up, so that a xe2x80x9cplug-and-playxe2x80x9d feature would allow individual set up of the devices on the LAN.
The present invention describes a scheme in which such transparency is provided.
The present invention describes a technique for providing a device referred to as a transparent bump between a local area network and a router. The device is inserted with minimal intrusion to the devices on the LAN. The device initializes at start-up in the promiscuous mode to learn the MAC address of the router. Once the router""s address is known, the device accepts data packets intended for the router and provides internal processing of the data prior to having the data forwarded to the router. Since the device performs the interception without reprogramming user devices on the local area network, the operation is transparent to the local area network.
In the particular example described, the transparent bump provides a web caching function. Accesses to a web page are checked in the device to determine if cached data is present. If the data is present, then the cached data is provided to the requesting device on the local area network. Otherwise, the web site is reached and the returning data is cached.
Although web caching is described, other functions, such as filtering of certain data, can be readily implemented. Furthermore, in order to provide control access to the device, the device can accept either its own address or a particular TCP port coding to switch the device into a control mode.